package com.kk.datastructure.tree.foundactiontree;
//package com.kk.datastructure.tree;
//
///**
// * title: 二叉树的前,中,后序遍历
// * @author 阿K
// * 2020年12月29日 下午11:29:56 
// */
//public class BinaryTreeDemo {
//
//	public static void main(String[] args) {
//
//		// 创建二叉树
//		BinaryTree binaryTree = new BinaryTree();
//
//		// 创建需要的结点
//		HeroNode root = new HeroNode(1, "宋江");
//		HeroNode node2 = new HeroNode(2, "吴用");
//		HeroNode node3 = new HeroNode(3, "卢俊义"); 
//		HeroNode node4 = new HeroNode(4, "林冲");
//		HeroNode node5 = new HeroNode(5, "关胜");
//
//		// 加入树
//		root.setLeft(node2);
//		root.setRight(node3);
//		node3.setRight(node4);
//		node3.setLeft(node5);
//		binaryTree.setRoot(root);
//		
//		System.out.println("前序遍历，预计结果：1，2，3，5，4");
//		binaryTree.perOrder();
//
//		System.out.println("中序遍历，预计结果：2，1，5，3，4");
//		binaryTree.infixOrder();
//
//		System.out.println("后序遍历，预计结果：2，5，4，3，1");
//		binaryTree.postOrder();
//	}
//}
//
//// 定义二叉树 
//class BinaryTree {
//
//	private HeroNode root;// 根节点
//
//	public void setRoot(HeroNode root) {
//		this.root = root;
//	}
//
//	// 前序遍历
//	public void perOrder() {
//		if (this.root != null) {
//			this.root.perOrder();
//		} else {
//			System.out.println("二叉树为空，无法遍历~");
//		}
//	}
//
//	// 中序遍历
//	public void infixOrder() {
//		if (this.root != null) {
//			this.root.infixOrder();
//		} else {
//			System.out.println("二叉树为空，无法遍历~");
//		}
//	}
//
//	// 后序遍历
//	public void postOrder() {
//		if (this.root != null) {
//			this.root.postOrder();
//		} else {
//			System.out.println("二叉树为空，无法遍历~");
//		}
//	}
//}
//
//// 定义节点
//class HeroNode {
//	private int no;
//	private String name;
//	private HeroNode left; // 左节点（默认为null）
//	private HeroNode right; // 右节点（默认为null）
//
//	public HeroNode(int no, String name) {
//		this.no = no;
//		this.name = name;
//	}
//
//	// 节点的前序遍历
//	public void perOrder() {
//		// 1.先输出入父节点
//		System.out.println(this);
//		// 2.递归左子树前序遍历
//		if (this.left != null) {
//			this.left.perOrder();
//		}
//		// 3.递归右子树前序遍历
//		if (this.right != null) {
//			this.right.perOrder();
//		}
//	}
//
//	// 节点的中序遍历
//	public void infixOrder() {
//		// 1.递归左子树中序遍历
//		if (this.left != null) {
//			this.left.infixOrder();
//		}
//		// 2.输出父节点
//		System.out.println(this);
//		// 3.递归右子树中序遍历
//		if (this.right != null) {
//			this.right.infixOrder();
//		}
//	}
//
//	// 节点的后序遍历
//	public void postOrder() {
//		// 1.递归左子树后序遍历
//		if (this.right != null) {
//			this.left.postOrder();
//		}
//		// 2.递归右子树后序遍历
//		if (this.right != null) {
//			this.right.postOrder();
//		}
//		// 3.输出父节点
//		System.out.println(this);
//	}
//	
//	public int getNo() {
//		return no;
//	}
//
//	public void setNo(int no) {
//		this.no = no;
//	}
//
//	public String getName() {
//		return name;
//	}
//
//	public void setName(String name) {
//		this.name = name;
//	}
//
//	public HeroNode getLeft() {
//		return left;
//	}
//
//	public void setLeft(HeroNode left) {
//		this.left = left;
//	}
//
//	public HeroNode getRight() {
//		return right;
//	}
//
//	public void setRight(HeroNode right) {
//		this.right = right;
//	}
//
//	@Override
//	public String toString() {
//		return "HeroNode [no=" + no + ", name=" + name + "]";
//	}
//}
